package com.wuwei.tms.workbench.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wuwei.tms.pojo.History;
import com.wuwei.tms.vo.HistoryExcel;
import com.wuwei.tms.vo.HistoryPrint;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author wuwei
 * @since 2024-01-03
 */
public interface HistoryMapper extends BaseMapper<History> {

//    List<HistoryExcel> getMyRecords(@Param("borrowDate") LocalDateTime borrowDate
//            ,@Param("returnDate")  LocalDateTime returnDate
//            ,@Param("borrowById")  long borrowById
//            ,@Param("barcode") long barcode);
//
//    List<HistoryExcel> getMyRecordsPage(@Param("borrowDate") LocalDateTime borrowDate
//            ,@Param("returnDate")  LocalDateTime returnDate
//            ,@Param("borrowById")  long borrowById
//            ,@Param("barcode") long barcode, @Param("offset")int offset, @Param("pageSize")int pageSize);


    /**
     * 对t_history和t_borrow进行查询但是不分页的方法
     * @param borrowDate1 借用日期之前的日期
     * @param borrowDate2 借用日期之后的日期
     * @param returnDate1 归还日期之前的日期
     * @param returnDate2 归还日期之后的日期
     * @param borrowById
     * @param barcode
     * @return
     */
    List<HistoryExcel> myListAndPageNotPage(@Param("borrowDate1") LocalDateTime borrowDate1,@Param("borrowDate2") LocalDateTime borrowDate2,
                                            @Param("returnDate1") LocalDateTime returnDate1,@Param("returnDate2") LocalDateTime returnDate2,
                                            @Param("borrowById") long borrowById, @Param("barcode") long barcode, @Param("airplaneId")String airplaneId);

    List<HistoryPrint> myListForPrint(@Param("borrowDate1") LocalDateTime borrowDate1,@Param("borrowDate2") LocalDateTime borrowDate2,
                                      @Param("returnDate1") LocalDateTime returnDate1,@Param("returnDate2") LocalDateTime returnDate2,
                                      @Param("borrowById") long borrowById, @Param("barcode") long barcode, @Param("airplaneId")String airplaneId);

    /**
     * 对t_history和t_borrow进行分页查询的方法
     * @param borrowDate1 借用日期之前的日期
     * @param borrowDate2 借用日期之后的日期
     * @param returnDate1 归还日期之前的日期
     * @param returnDate2 归还日期之后的日期
     * @param borrowById
     * @param barcode
     * @param offset
     * @param pageSize
     * @return
     */
    List<HistoryExcel> myListAndPage(@Param("borrowDate1") LocalDateTime borrowDate1,@Param("borrowDate2") LocalDateTime borrowDate2,
                                     @Param("returnDate1") LocalDateTime returnDate1,@Param("returnDate2") LocalDateTime returnDate2,
                                     @Param("borrowById") long borrowById, @Param("barcode") long barcode, @Param("airplaneId")String airplaneId,
                                     @Param("offset") int offset,  @Param("pageSize") int pageSize);
}
